package top.mybatisx.plugin_proxy;

import top.mybatisx.plugin_proxy.plugin.ClockInPlugin;
import top.mybatisx.plugin_proxy.plugin.ClockType;
import top.mybatisx.plugin_proxy.service.ClockInService;

import java.lang.reflect.Proxy;

/**
 * 业务使用插件
 */
public class Main {

    public static void main(String[] args) {
        // 调用考勤
        ClockType clockType = ClockType.dingding;

        // 构造动态代理
        ClockInPlugin clockInPlugin = (ClockInPlugin) Proxy.newProxyInstance(ClockInPlugin.class.getClassLoader(), new Class[]{ClockInPlugin.class}, new ClockInService(clockType));

        // 调用纯接口，更加纯粹
        clockInPlugin.install();
        clockInPlugin.turnData();
        clockInPlugin.importData();
        clockInPlugin.destory();
    }
}
